1. Field of the Invention
This invention relates to improvements in circuitry for driving polyphase motors, and more particularly to improvements in circuitry for driving polyphase dc motors, and still more particularly to methods and apparatus for resynchronizing a commutation sequencer of a motor driver to a spinning rotor of a polyphase dc motor using the zero voltage crossing information of non-selected, or floating, rotor coils.
2. Description of the Prior Art
Although the present invention pertains to polyphase dc motors, in general, it finds particular application in conjunction with three phase dc motors, particularly of the brushless, sensorless type which are used for rotating data media, such as found in computer related applications, including hard disk drives, CD ROM drives, floppy disks, and the like. In computer applications, three phase brushless, sensorless dc motors are becoming more popular, due to their reliability, low weight, and accuracy.
Motors of this type can typically be thought of as having a stator with three coils connected in a "Y" configuration, although actually, a larger number of stator coils are usually employed with multiple motor poles. Typically, in such applications, eight pole motors are used having twelve stator windings and four N-S magnetic sets on the rotor, resulting in four electrical cycles per revolution of the rotor. The stator coils, however, can be analyzed in terms of three "Y" connected coils, connected in three sets of four coils, each physically separated by 90.degree.. In operation, the coils are energized in sequences in each of which a current path is established through two coils of the "Y", with the third coil left floating. The sequences are arranged so that as the current paths are changed, or commutated, one of the coils of the current path is switched to float, and the previously floating coil is switched into the current path. Moreover, the sequence is defined such that when the floating coil is switched into the current path, current will flow in the same direction in the coil which was included in the prior current path. In this manner, six commutation sequences are defined for each electrical cycle in a three phase motor.
In the past, during the operation of a such polyphase dc motor, it has been recognized that maintaining a known position of the rotor is an important concern. There have been various ways by which this was implemented. The most widely used way, for example, was to start the motor in a known position, then develop information related to the instantaneous or current position of the rotor. One source of such instantaneous position information was developed as a part of the commutation process, and involved identifying the floating coil, and monitoring its back emf, that is, the emf induced into the coil as it moves through the magnetic field provided by the stator.
When the voltage of the floating coil crossed zero (referred to in the art as "a zero crossing"), the position of the rotor was assumed to be known. Upon the occurrence of this event, the rotor coil commutation sequence was incremented to the next phase, and the process repeated. The assumption that the zero crossing accurately indicated the rotor position was generally if the motor was functioning properly, and nothing had occurred which would disturb its synchronization from its known startup position. However, in reality, events did occur which sometimes resulted in a loss of synchronization. Such loss of synchronization might occur, for example, if the rotation of the disk was interrupted by a physical bump, or by a sticking motor bearing, or by frictional losses in the disk carrier, and so on. And, once such loss of synchronization occurred, there was no recovery.
The possibility of loss of synchronization made the motors previously used vulnerable and delicate, and great care had to be taken to insure that the startup algorithms and running conditions were precisely controlled to avoid anything which might cause such out of synchronization condition to occur.